package objects

import "net/http"

//Go语法学习：Go 语言中，变量或函数名首字母大写，表明该变量或函数可在包外使用，小写则仅在包内使用
//如Handler 可在main 函数中使用

/*
*w http.ResponseWriter 用于写入HTTP响应，
*w.WriteHeader 写响应的错误代码
*w.Write  写响应正文
*r *http.Request 当前处理的http请求
*r.Method 成员变量记录请求方法
*
*流程：首先检查HTTP请求方法，如果是PUT，调用put，如果是GET，调用get,否则，返回405 Method Not Found
*
 */
func Handler(w http.ResponseWriter, r *http.Request) {
	m := r.Method
	if m == http.MethodPost {
		post(w, r)
		return

	}
	if m == http.MethodPut {
		put(w, r)
		return
	}
	if m == http.MethodGet {
		get(w, r)
		return
	}
	if m == http.MethodDelete {
		del(w, r)
		return
	}

	w.WriteHeader(http.StatusMethodNotAllowed)
}
